
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
 */
package itm.bo.administracion;

//~--- non-JDK imports --------------------------------------------------------

import itm.conexion.SQLServerConection;

import itm.dao.administracion.RolDAO;

import itm.exception.ControlException;

import itm.vo.administracion.CasoUsoVO;
import itm.vo.administracion.RolVo;

//~--- JDK imports ------------------------------------------------------------

import com.sun.webui.jsf.component.TextField;

import java.sql.Connection;
import java.sql.SQLException;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Administrador
 */
public class RolBO {
    SQLServerConection conexion = new SQLServerConection();
    Connection         dbConexion;
    RolDAO             rolDAO;

    public int can_personas_rol(String idRol) throws ControlException, Exception {
        int resultado = 0;

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            resultado  = rolDAO.cant_Personas_Rol(idRol);
        } catch (SQLException ce) {
            ce.printStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return resultado;
    }

    public String crearRol(RolVo rolVO) throws ControlException {
        String resultado = "";

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            resultado  = rolDAO.crearRol(rolVO);
        } catch (SQLException ce) {
            ce.printStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return resultado;
    }

    public String eliminarPrivilegiosRol(CasoUsoVO casoUsoVO) throws ControlException {
        String resultado = "";

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            resultado  = rolDAO.eliminarPrivilegiosRol(casoUsoVO);
        } catch (SQLException ce) {
            ce.printStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return resultado;
    }

    public String insertarPrivilegios(CasoUsoVO casoUsoVO) throws Exception {
        String resultado = "";

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            resultado  = rolDAO.insertarPrivilegios(casoUsoVO);
        } catch (Exception ce) {
            ce.printStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return resultado;
    }

    public List<CasoUsoVO> listaCasoUso(CasoUsoVO casoUsoVO) throws ControlException {
        List<CasoUsoVO> listaCasoUso = new ArrayList<CasoUsoVO>();

        try {
            dbConexion   = conexion.openConnection();
            rolDAO       = new RolDAO(dbConexion);
            listaCasoUso = rolDAO.listarCasoUso(casoUsoVO);
        } catch (SQLException ex) {
            ex.getStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return listaCasoUso;
    }

    public List<CasoUsoVO> listaRol(CasoUsoVO casoUsoVO) throws ControlException {
        List<CasoUsoVO> listaRol = new ArrayList<CasoUsoVO>();

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            listaRol   = rolDAO.listarRoles(casoUsoVO);
        } catch (SQLException ex) {
            ex.getStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return listaRol;
    }

    public List<CasoUsoVO> listaPrivilegio(CasoUsoVO casoUsoVO) throws ControlException {
        List<CasoUsoVO> listaPrivilegio = new ArrayList<CasoUsoVO>();

        try {
            dbConexion      = conexion.openConnection();
            rolDAO          = new RolDAO(dbConexion);
            listaPrivilegio = rolDAO.listarPrivilegios(casoUsoVO);
        } catch (SQLException ex) {
            ex.getStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return listaPrivilegio;
    }

    public String eliminarRol(CasoUsoVO casoUsoVO) throws ControlException {
        String resultado = "";

        try {
            dbConexion = conexion.openConnection();
            rolDAO     = new RolDAO(dbConexion);
            resultado  = rolDAO.eliminarRol(casoUsoVO);
        } catch (SQLException ce) {
            ce.printStackTrace();
        } finally {
            conexion.closeConnection(dbConexion);
        }

        return resultado;
    }
}
